package com.tbit.uqbike.service.business;

import com.tbit.uqbike.object.pojo.dto.CardUsageDTO;
import com.tbit.uqbike.object.pojo.vo.CardUsageSummaryVO;
import com.tbit.uqbike.object.pojo.vo.CardUsageVO;
import com.tbit.common.entity.view.Result;

/**
 * 卡券使用记录
 * @author <a href="mailto:liu.haoxiang@tbit.com.cn">BUGXiang</a>
 * @version 1.0
 * @since 2025-2-12
 */
public interface CardUsageService {

    /**
     * 查询卡券使用记录
     * @param dto dto
     * @return Result
     */
    Result<Object> getCardUsage(CardUsageDTO dto);

    /**
     * 查询卡券使用记录详情
     * @param orderNo 骑行订单号
     * @return Result
     */
    Result<CardUsageVO> getCardUsageDetails(String orderNo);

    /**
     * 获取卡券使用记录统计
     * @param dto dto
     * @return Result
     */
    Result<CardUsageSummaryVO> getCardUsageSummary(CardUsageDTO dto);
}
